/* 
 * File:   BodyFactoryDynamic.h
 * Author: mauro
 *
 * Created on 13 de octubre de 2014, 18:07
 */

#ifndef BODYFACTORYDYNAMIC_H
#define	BODYFACTORYDYNAMIC_H

#include <Box2D/Box2D.h>
#include "../Define/DefaultValues.h"
#include "../Controller/SBSLog.h"
#include <cmath>

class BodyFactoryDynamic {
private:
    b2World* world;
public:
    BodyFactoryDynamic();
    BodyFactoryDynamic(b2World &world);
    
    b2Body* getBody(int sides, b2Vec2 *pos, b2Vec2 *size, float scale, float mass,float rotation);
    b2Body* getBodyParallellogram(b2Vec2 *pos, b2Vec2 *size, float alpha, float mass,float rotation);
    b2Body* getBodyTrapezium(b2Vec2* pos, b2Vec2* size, float alpha, float beta, float mass,float rotation);

    b2Body* getCharacter(b2Vec2 *pos, b2Vec2 *size);
    virtual ~BodyFactoryDynamic();
};

#endif	/* BODYFACTORYDYNAMIC_H */

